52 research outputs found

    Measuring and Managing Answer Quality for Online Data-Intensive Services

    Full text link
    Online data-intensive services parallelize query execution across distributed software components. Interactive response time is a priority, so online query executions return answers without waiting for slow running components to finish. However, data from these slow components could lead to better answers. We propose Ubora, an approach to measure the effect of slow running components on the quality of answers. Ubora randomly samples online queries and executes them twice. The first execution elides data from slow components and provides fast online answers; the second execution waits for all components to complete. Ubora uses memoization to speed up mature executions by replaying network messages exchanged between components. Our systems-level implementation works for a wide range of platforms, including Hadoop/Yarn, Apache Lucene, the EasyRec Recommendation Engine, and the OpenEphyra question answering system. Ubora computes answer quality much faster than competing approaches that do not use memoization. With Ubora, we show that answer quality can and should be used to guide online admission control. Our adaptive controller processed 37% more queries than a competing controller guided by the rate of timeouts.Comment: Technical Repor

    Database Replication Using Generalized Snapshot Isolation

    Get PDF
    Generalized snapshot isolation extends snapshot isolation as used in Oracle and other databases in a manner suitable for replicated databases. While (conventional) snapshot isolation requires that transactions observe the “latest” snapshot of the database, generalized snapshot isolation allows the use of “older” snapshots, facilitating a replicated implementation. We show that many of the desirable properties of snapshot isolation remain. In particular, read-only transactions never block or abort and they do not cause update transactions to block or abort. Moreover, under certain assumptions on the transaction workload the execution is serializable. An implementation of generalized snapshot isolation can choose which past snapshot it uses. An interesting choice for a replicated database is prefix-consistent snapshot isolation, in which the snapshot contains at least all the writes of locally committed transactions. We present two implementations of prefix-consistent snapshot isolation. We conclude with an analytical performance model of one implementation, demonstrating the benefits, in particular reduced latency for read-only transactions, and showing that the potential downsides, in particular change in abort rate of update transactions, are limited

    Generalized Snapshot Isolation and a Prefix-Consistent Implementation

    Get PDF
    Generalized snapshot isolation extends snapshot isolation as used in Oracle and other databases in a manner suitable for replicated databases. While (conventional) snapshot isolation requires that transactions observe the ``latest'' snapshot of the database, generalized snapshot isolation allows the use of ``older'' snapshots, facilitating a replicated implementation. We show that many of the desirable properties of snapshot isolation remain. In particular, under certain assumptions on the transaction workload the execution is serializable. An implementation of generalized snapshot isolation can choose which past snapshot it uses. An interesting choice for a replicated database is prefix-consistent snapshot isolation, in which the snapshot contains at least all the writes of locally committed transactions. As an instance of generalized snapshot isolation, it inherits all of its properties. In addition, read-only transactions never block, and consecutive transactions submitted in a single workflow on a particular replica observe the updates of their predecessors in the workflow. We present two implementation strategies of prefix-consistent snapshot isolation. We conclude with an analytical performance model of one of the implementations, bringing out the benefits, in particular reduced latency for read-only transactions, and showing that the potential downsides, in particular the change in abort rate of update transactions, are limited

    Tians scheduling: Using partial processing in best-effort applications

    Get PDF
    Abstract-To service requests with high quality, interactive services such as web search, on-demand video and online gaming keep average server utilization low. As servers become busy, queuing delays increase, and requests miss their deadlines, resulting in degraded quality of service with poor user experience and potential revenue loss. In this paper, we propose Tians scheduling, a group of scheduling algorithms for interactive services that can produce partial answers during overload. A Tians scheduler allocates processing time to each request based on system load with the objective of maximizing overall quality of responses. We propose three Tians scheduling algorithms -offline, online clairvoyant and online nonclairvoyant. For interactive applications with concave quality profile, we prove that the offline algorithm is optimal. We show the effectiveness of the online algorithms by conducting a simulation study modeling important applications -a web search engine and video-ondemand (VOD) system. Simulation results show a significant improvement of Tians over traditional server models: average response quality improves and the variance of responses decreases. Keywords-interactive services, best-effort applications, offline, online clairvoyant, online nonclairvoyant, partial results, quality profile, scheduling, VOD bandwidth allocation, web search engine

    A Cooperative Backup System

    Get PDF
    We present a novel peer-to-peer backup technique that allows computers connected to the Internet to back up their data cooperatively: Each computer has a set of partner computers, which collectively hold its backup data. In return, it holds a part of each partner’s backup data. By adding redundancy and distributing the backup data across many partners, a highly-reliable backup can be obtained in spite of the low reliability of the average Internet machine. Because our scheme requires cooperation, it is potentially vulnerable to several novel attacks involving free riding (e.g., holding a partner’s data is costly, which tempts cheating) or disruption. We defend against these attacks using a number of new methods, including the use of periodic random challenges to ensure partners continue to hold data and the use of disk-space wasting to make cheating unprofitable. Results from an initial prototype show that our technique is feasible and very inexpensive: it appears to be one to two orders of magnitude cheaper than existing Internet backup services

    PerfIso: Performance isolation for commercial latency-sensitive services

    Get PDF
    Large commercial latency-sensitive services, such as web search, run on dedicated clusters provisioned for peak load to ensure responsiveness and tolerate data center outages. As a result, the average load is far lower than the peak load used for provisioning, leading to resource under-utilization. The idle resources can be used to run batch jobs, completing useful work and reducing overall data center provisioning costs. However, this is challenging in practice due to the complexity and stringent tail-latency requirements of latency-sensitive services. Left unmanaged, the competition for machine resources can lead to severe response-time degradation and unmet service-level objectives (SLOs). This work describes PerfIso, a performance isolation framework which has been used for nearly three years in Microsoft Bing, a major search engine, to colocate batch jobs with production latency-sensitive services on over 90,000 servers. We discuss the design and implementation of PerfIso, and conduct an experimental evaluation in a production environment. We show that colocating CPU-intensive jobs with latency-sensitive services increases average CPU utilization from 21% to 66% for off-peak load without impacting tail latency

    Database admission control and request scheduling for dynamic content Web servers

    No full text
    This thesis presents a method to do admission control and request scheduling for database-bound dynamic content Web servers. Our method is both transparent, requiring no modification to the software components, and external, permitting an implementation in a separate proxy. Admission control prevents overloading the database server. We implement admission control by estimating the amount of work that each request imposes on the system. A request is admitted only when it does not drive the system into overload. Request scheduling improves average response time. We exploit the variability in the workload by using shortest job first scheduling, which reorders the pending requests to reduce the average response time. We evaluate these techniques experimentally using the TPC-W benchmark. We show consistent performance during overload. Moreover, the average response time improves by up to a factor of 14, and peak throughput increases up to 10 percent
    • 

    corecore